﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.Runtime.Serialization;

namespace Model
{
    [DataContract]
    public class Movie
    {
        [DataMember]
        private int id;
        [DataMember]
        private string title;
        [DataMember]
        private string instructor;
        [DataMember]
        private int duration;
        [DataMember]
        private string description;
        [DataMember]
        private byte active;
        [DataMember]
        private string actors;
        //[DataMember]
        //private List<Review> reviews;
        private List<Genre> genres;
        

        public Movie(int id, string title, string instructor, int duration, string description, byte active, string actors)
        {
            ID = id;
            Title = title;
            Instructor = instructor;
            Duration = duration;
            Description = description;
            Active = active;
            Actors = actors;
            //reviews = new List<Review>();
            genres = new List<Genre>();
        }

        public Movie(string title, string instructor, int duration, string description, byte active, string actors)
        {
            Title = title;
            Instructor = instructor;
            Duration = duration;
            Description = description;
            Active = active;
            Actors = actors;
            //reviews = new List<Review>();
            genres = new List<Genre>();
        }

        [DataMember]
        public List<Genre> Genres
        {
            get { return this.genres; }
            set { this.genres = value; }
        }

        [DataMember]
        public string Title
        {
            get { return this.title; }
            set { this.title = value; }
        }

        [DataMember]
        public string Instructor
        {
            get { return this.instructor; }
            set { this.instructor = value; }
        }

        [DataMember]
        public int Duration
        {
            get { return this.duration; }
            set { this.duration = value; }
        }

        [DataMember]
        public string Description
        {
            get { return this.description; }
            set { this.description = value; }
        }

        [DataMember]
        public byte Active
        {
            get { return this.active; }
            set { this.active = value; }
        }

        [DataMember]
        public string Actors
        {
            get { return this.actors; }
            set { this.actors = value; }
        }

        [DataMember]
        public int ID
        {
            get { return this.id; }
            set { this.id = value; }
        }
    }
}
